import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class TwoNums {
    public static List<List<Integer>> main(int[] nums) {
            Arrays.sort(nums);
            List<List<Integer>> ans = new ArrayList<>();
            int n = nums.length;
            for(int i = 0;i < n-2;i++) {
                if(i > 0 && nums[i] == nums[i-1]){
                    continue;
                }
                int j = i + 1;
                int k = n - 1;
                while(j < k) {
                    int s = nums[i] + nums[j] + nums[k];
                    if(s < 0) {
                        j++;
                    }else if(s > 0) {
                        k--;
                    }else{
                        boolean add = ans.add(List.of(nums[i], nums[j], nums[k]));
                        for(j++;j < k && nums[j]==nums[j-1];j++);
                        for(k--;k > j && nums[k]==nums[k+1];k--);
                    }
                }
            }
            return ans;
        }
    }


